<?php

declare(strict_types=1);

namespace App\CustHub\Model;

use Mine\MineModel;

/**
 * @property int $id 
 * @property int $uid 
 * @property int $main_uid 
 * @property string $channel_name 渠道名称
 * @property int $auto_verify 是否自动通过验证（1 = 是，0 = 否）
 * @property array $auto_tags 标签组
 * @property int $auto_remark 是否自动备注
 * @property string $remark_content 备注配置
 * @property int $display_mode 展示方式（0 = 全天展示，1 = 分时段展示）
 * @property array $all_day_display_cfg 全天展示配置信息
 * @property array $time_segment_cfg 分时段展示配置信息
 * @property int $daily_add_friend_limit 加好友限制（0 = 不限制，1 = 限制，2 = 自定义限制）
 * @property array $daily_add_friend_cfg 限制配置
 * @property array $spare_robot_ids 备用机器人ID
 * @property array $default_greeting_cfg 默认欢迎语配置
 * @property int $time_segment_greeting 是否开启分时段欢迎语（1 = 是，0 = 否）
 * @property array $time_segment_greeting_cfg 分时段欢迎语配置
 * @property int $special_member_greeting 是否指定成员欢迎语（1 = 是，0 = 否）
 * @property array $special_member_greeting_cfg 指定成员欢迎语配置
 * @property string $code_style 活码样式
 * @property string $code 活码
 * @property array $robot_ids 
 * @property string $created_at 创建时间
 * @property int $greeting_switch 欢迎语开关
 * @property string $channel_code 
 * @property string $render_url 
 * @property array $extend 额外参数
 * @property int $next_refresh_time 下次刷新时间
 * @property int $corp_id 企业id
 * @property-read null|ChUser $user 
 */
class ChChannelCode extends MineModel
{
    public bool $timestamps = false;
    /**
     * The table associated with the model.
     */
    protected ?string $table = 'ch_channel_code';

    /**
     * The attributes that are mass assignable.
     */
    protected array $fillable = ['id', 'uid', 'main_uid', 'channel_name', 'auto_verify', 'auto_tags', 'auto_remark', 'remark_content', 'display_mode', 'all_day_display_cfg', 'time_segment_cfg', 'daily_add_friend_limit', 'daily_add_friend_cfg', 'spare_robot_ids', 'default_greeting_cfg', 'time_segment_greeting', 'time_segment_greeting_cfg', 'special_member_greeting', 'special_member_greeting_cfg', 'code_style', 'code', 'robot_ids', 'created_at', 'greeting_switch', 'channel_code', 'render_url', 'extend', 'next_refresh_time', 'corp_id'];

    /**
     * The attributes that should be cast to native types.
     */
    protected array $casts = ['id' => 'integer', 'uid' => 'integer', 'main_uid' => 'integer', 'auto_verify' => 'integer', 'auto_tags' => 'array', 'auto_remark' => 'integer', 'display_mode' => 'integer', 'all_day_display_cfg' => 'array', 'time_segment_cfg' => 'array', 'daily_add_friend_limit' => 'integer', 'daily_add_friend_cfg' => 'array', 'spare_robot_ids' => 'array', 'default_greeting_cfg' => 'array', 'time_segment_greeting' => 'integer', 'time_segment_greeting_cfg' => 'array', 'special_member_greeting' => 'integer', 'special_member_greeting_cfg' => 'array', 'robot_ids' => 'array', 'greeting_switch' => 'integer', 'extend' => 'array', 'next_refresh_time' => 'integer', 'corp_id' => 'integer'];

    public function user()
    {
        return $this -> hasOne(ChUser::class,'id','uid');
    }
}
